<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
   <!-- 209000153 谭鑫 -->
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        a {
            text-decoration: none;
            color: #838383;
        }

        .box {
            display: flex;
            justify-content: space-between;
        }

        .left_wrapper{
            width: 25%;
            height: 100vh;
            background-image: url(https://cdn.web-global.fds.api.mi-img.com/mcfe--mi-account/static/static/media/banner.92c693b4..jpg);
            background-size: cover;
        }

        .right-wrapper{
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 75%;
            height: 100vh;
            background-color: #fff;
        }

        .right_header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            height: 80px;
            padding: 0 30px;
        }

        .logo {
            display: flex;
            align-items: center;
            height: 100%;
        }

        .logo span {
            font-size: 26px;
            color: #333;
            margin-left: 10px;
        }

        .options {
            display: flex;
            align-items: center;
            height: 100%;
        }

        .options a {
            font-size: 14px;
            margin: 0 10px;
        }

        .options a:hover {
            color: orange;
        }

        select {
            color: #838383;
            border: 0;
        }

        .content_body {
            width: 35%;
            /* height: 75%; */
            margin-top: 3%;
            padding-bottom: 15px;
            border: 1px solid #eee;
            box-shadow: 2px 3px 5px #eee;
        }

        .content_header{
            width: 100%;
            height: 50px;
            line-height: 50px;
            margin: 30px;
            /* background-color: pink; */
        }

        .content_header a {
            font-size: 22px;
            margin: 0 10px;
            padding: 5px 0;
            cursor: pointer;
        }

        .isActice {
            color: #000;
            font-weight: 400;
            border-bottom: 3px solid rgb(255, 92, 0);
        }

        .login_content,
        .register_content {
            width: 100%;
            text-align: center;
            margin-top: 20px;
        }

        form {
            width: 100%;
            text-align: center;
            /* background-color: pink; */
        }

        .ipt {
            width: 80%;
            height: 60px;
            border: none;
            outline: none;
            padding: 0 20px;
            margin: 10px 0;
            font-size: 17px;
            background-color: #f9f9f9;
        }
        .ipt1{
            width: 64%;
            height: 60px;
            border: none;
            outline: none;
            padding: 0 20px;
            margin: 10px 0;
            font-size: 17px;
            background-color: #f9f9f9;
            margin-left: -50px;
        }
        .ipt2{
        /* width: 20%; */
        margin-top: 50px;
        }

        .clicked {
            width: 80%;
            margin: 0 auto;
            text-align: left;
            font-size: 14px;
            color: #838383;
            margin-top: 10px;
        }

        .clicked input {
            vertical-align: middle;
            margin-right: 5px;
        }
        .clicked a {
            color: #000;
            margin: 0 5px;
        }
        .login_btn,
        .register_btn {
            width: 80%;
            height: 50px;
            margin-top: 20px;
            margin-bottom: 10px;
            border: none;
            color: #fff;
            font-size: 14px;
            font-weight: 500;
            border-radius: 5px;
            outline: none;
            background-color: #ff5c00;
        }
        .forget {
            width: 80%;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
        }
        .forget a {
            font-size: 17px;
            color: #ff5c00;
        }
        .other {
            color: #aaa;
            font-size: 17px;
            font-weight: 400;
            line-height: 40px;
            text-align: center;
        }
        .other_content {
            width: 100%;
            /* background-color: pink; */
        }
        .other_content img {
            width: 10%;
            margin: 10px 10px 0;
        }
        /* 注册 */
        .register_content {
            margin-top: 10px;
        }
        .checkPassword {
            position: relative;
        }
        .checkPassword.span {
            position: absolute;
            right: 0;
        }
        .checkPassword span {
            position: absolute;
            right: 12%;
            top: 50%;
            transform: translateY(-50%);
            color: orange;
            font-size: 14px;
            z-index: 99;
            cursor: pointer;
        }
        .Unavailable {
            width: 80%;
            margin: 0 auto;
            text-align: left;
            font-size: 17px;
            color: #ff5c00;
        }
    </style>
</head>
<body>
  <body>
    <div id="app"></div>
    <template id="root">
      <div class="box">
        <div class="left_wrapper"></div>
        <div class="right-wrapper">
          <div class="right_header">
            <!-- logo -->
            <div class="logo">
              <img src="https://s1.ax1x.com/2023/04/14/ppzXmFI.png" alt="" />
              <span>小米账号</span>
            </div>
            <!-- 右侧选项 -->
            <div class="options">
              <a href="javascript:;">用户协议</a>
              <a href="javascript:;">隐私政策</a>
              <a href="javascript:;">帮助中心</a>
              <select name="" id="">
                <option value="">中文(简体)</option>
                <option value="">中文(繁体)</option>
                <option value="">English</option>
              </select>
            </div>
          </div>
          <div class="content_body">
            <div class="content_header">
              <a :class="isActice?['isActice']:[]" @click="login">登录</a>
              <a :class="isActice?[]:['isActice']" @click="register">注册</a>
            </div>
            <!-- 登录 -->
            <div class="login_content" v-if="isActice">
              <form action="">
                <div class="uname">
                  <input type="text" placeholder="邮箱/手机号码/小米ID" class="ipt" v-model="username" />
                </div>
                <div class="pwd">
                  <input type="password" placeholder="密码" class="ipt" v-model="password" />
                </div>
                <div class="clicked">
                  <input type="checkbox" v-model="isChecked" @click="l_change" />
                  <span>已阅读并同意小米账号<a href="javascript:;">用户协议</a>和
                    <a href="javascript:;">隐私政策</a>
                  </span>
                </div>
              </form>
              <button class="login_btn" @click="goLogin">登录</button>
              <div class="forget">
                <a href="javascript:;">忘记密码？</a>
                <a href="javascript:;">手机号登录</a>
              </div>
              <div class="other">其他方式登录</div>
              <div class="other_content">
                <img :src="item.path" alt="" v-for="item in otherLogin" :key="item.key" />
              </div>
            </div>

            
            <!-- 注册 -->
            <div class="register_content" v-else>
              <form action="">
                <div>
                  <select class="ipt" v-model="cityvalue">
                    <option :value="item.value" v-for="item in city">{{ item.text }}</option>
                  </select>
                </div>
                <div>
                  <input type="text" placeholder="手机号" class="ipt" v-model.number="phone" />
                </div>
                <div class="checkPassword">
                  <input type="password" placeholder="密码" class="ipt" v-model.trim="r_password" />
                  <input type="text" placeholder="请输入验证码" class="ipt1" maxlength="4" v-model.number="yzm" />
                  <span class="ipt2">获取验证码</span>
                </div>
                <div class="clicked">
                  <input type="checkbox" v-model="isChecked1" @click="r_change" />
                  <span
                    >已阅读并同意小米账号<a href="javascript:;">用户协议</a>和
                    <a href="javascript:;">隐私政策</a>
                  </span>
                </div>
              </form>
              <button class="register_btn" @click="goRegister">注册</button>
              <div class="Unavailable">收不到验证码？</div>
              <div class="other">其他方式登录</div>
              <div class="other_content">
                <img :src="item.path" alt="" v-for="item in otherLogin" :key="item.key" />
              </div>
            </div>
          </div>
        </div>
      </div>
    </template>
 </body>
<script>

    const app = Vue.createApp({
        template: '#root',
        data() {
            return {

                isActice: true,
                username: '',
                password: '',
                r_password: '',
                phone: '',
                isChecked: false,
                isChecked1: false,
                userList: [],
                cityvalue: 'China',
                city: [
                    { value: 'China', text: '中国' },
                    { value: 'british', text: '英国' },
                    {value:'Canada',text:'加拿大'},
                    { value: 'other', text: '其他' }
                ],
                otherLogin: [
                    {
                        id: 1,
                        name: '支付宝',
                        path: 'https://s1.ax1x.com/2023/04/14/p9SEuQJ.png'
                    },
                    {
                        id: 2,
                        name: '微信',
                        path: 'https://s1.ax1x.com/2023/04/14/p9SEGFK.png'
                    },
                    {
                        id: 3,
                        name: 'QQ',
                        path: 'https://s1.ax1x.com/2023/04/14/p9SEJJO.png'
                    },
                    {
                        id: 4,
                        name: '微博',
                        path: 'https://s1.ax1x.com/2023/04/14/p9SEUQH.png'
                    },
                    
                ]
            }
        },
        methods: {
            // 登录注册切换
            login() {
                this.isActice = !this.isActice
            },
            register() {
                this.isActice = !this.isActice
            },
            // 用户条款勾选
            l_change() {
                this.isChecked = !this.isChecked
            },
            r_change() {
                this.isChecked1 = !this.isChecked1
            },
            // 登录
            goLogin() {
                if (this.username == '' || this.password == '') {
                    alert('账号或密码为空，请输入')
                } else {
                    if (!this.isChecked) {
                        alert('请同意用户条款')
                    } else {
                        this.userList.forEach(item => {
                            if (item.phone == this.username && item.password == this.password) {
                                alert('登录成功')
                            } else {
                                alert('登录失败')
                            }
                        })
                    }
                }
            },
            // 注册
            goRegister() {
                if (this.phone == '' || this.r_password == '') {
                    alert('输入不能为空')
                } else {
                    if (!this.isChecked1) {
                        alert('请同意用户条款')
                    } else {
                        const regCN = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
                        if (!regCN.test(this.phone)) {
                            alert('请输入正确的手机号')
                        } else {
                            let isRegister
                            this.userList.forEach(item => {
                                if (item.phone == this.phone) {
                                    isRegister = true
                                } else {
                                    isRegister = false
                                }
                            })
                            if (isRegister) {
                                alert('用户名已存在')
                            } else {
                                let data = {
                                    id: +new Date(),
                                    phone: this.phone,
                                    password: this.r_password,
                                    city: this.cityvalue
                                }
                                this.userList.push(data)
                                alert('注册成功')
                                console.log(this.userList)
                                this.phone = ''
                                this.r_password = ''
                            }
                        }
                    }
                }
            }
        }
    })
    app.mount("#app");
</script>

</html>